﻿
namespace Microsoft.Xna.Framework.Graphics
{
	/// <summary>
	/// Creates a DirectionalLight object.
	/// </summary>
	public sealed class DirectionalLight
	{
		#region Properties
		/// <summary>
		/// Gets or sets the diffuse color of the light.
		/// </summary>
		public Vector3 DiffuseColor { get; set; }

		/// <summary>
		/// Gets or sets the light direction. This value must be a unit vector.
		/// </summary>
		public Vector3 Direction { get; set; }

		/// <summary>
		/// Gets or sets light enable flag.
		/// </summary>
		public bool Enabled { get; set; }

		/// <summary>
		/// Gets or sets the specular color of the light.
		/// </summary>
		public Vector3 SpecularColor { get; set; }
		#endregion

		#region Constructor
		/// <summary>
		/// Creates a new DirectionalLight instance, with or without a copy of a DirectionalLight instance.
		/// </summary>
		/// <param name="directionParameter">The light direction.</param>
		/// <param name="diffuseColorParameter">The diffuse color.</param>
		/// <param name="specularColorParameter">The specular color.</param>
		/// <param name="cloneSource">The cloned instance to copy from.</param>
		public DirectionalLight(EffectParameter directionParameter, EffectParameter diffuseColorParameter, EffectParameter specularColorParameter, DirectionalLight cloneSource)
		{
			//! TODO: implement
		}
		#endregion
	}
}
